import { reqCategoryList, reqGetBannerList, reqFloorList } from "@/api"

// home 模块的小仓库
export default ({
    // 仓库存储数据的地方
    state: {
      // state 服务器返回对象 服务器返回数组【根据接口返回初始化的】
      categoryList: [],
      // 轮播图数据
      bannerList: [],
      floorList: []
    },
    // 唯一修改state的地方
    mutations: {
      CATEGORYLIST(state, categoryList) {
        state.categoryList = categoryList;
      },
      GETBANNERLIST(state, bannerList) {
        state.bannerList = bannerList;
      },
      GETFLOORLIST(state, floorList) {
        state.floorList = floorList;
      }
    },
    // 可以书写业务逻辑 也可以处理异步
    actions: {
      // 通过 API 里面的接口函数调用 向服务器发请求 获取服务器的数据
      async categoryList({commit}) {
        let result = await reqCategoryList();
        // console.log(result);
        if(result.code == 200){
          commit('CATEGORYLIST', result.data);
        }
      },
      // 获取首页轮播图数据
      async getBannerList({commit}) {
        let result = await reqGetBannerList();
        // console.log(result);
        if(result.code == 200) {
          commit('GETBANNERLIST', result.data);
        }
      },
      async getFloorList({commit}) {
        let result = await reqFloorList();
        if(result.code == 200) {
          commit('GETFLOORLIST', result.data);
        }
      }
    }
  })